package com.tanhua.server.interceptor;

import com.tanhua.domain.db.User;

/**
 * 工具类：用于操作ThreadLocal，把当前认证通过的用户绑定到本地线程对象上
 */
public class UserHolder {

    // 创建本地线程对象
    private static ThreadLocal<User> threadLocal = new ThreadLocal<>();

    /**
     * 绑定用户对象到本地线程上
     */
    public static void set(User user) {
        threadLocal.set(user);
    }

    /**
     * 获取绑定的用户
     */
    public static User get() {
        return threadLocal.get();
    }

    /**
     * 返回用户id
     */
    public static Long getUserId() {
        return get().getId();
    }

}
